"use strict";

//正则表达式
var Re={
	"name":/^[a-z0-9_-]{3,10}$/,
	"email":/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/,
	"phone":/^1[3|4|5|6|7|8|9][0-9]{1}[0-9]{8}$/,
	"password":/^[A-Za-z0-9]{6,16}$/
};

//用户列表对象
var userTable={
	"userId":"",
	
	//解绑微信号
	"unbind":function(el,fn){
		var that=this;
	 	$(el).on("click",function(){
	 		fn(that.userId);
	 	});
	},
	
	//重置密码
	"resetPassword":function(el,fn){
		var that=this;
	 	$(el).on("click",function(){
	 		fn(that.userId);
	 	});
	},
	
	//删除用户行
	"delUser":function(el,fn){
		var that=this;
		$(el).on("click",function(){
	 		fn(that.userId);
	 	});
	},
	
	//初始化
	"init":function(el){
		var that=this;
		
		//用户表操作
		var selector="[data-btn='addRemark'],[data-btn='delRemark'],[data-btn='viewPic'],[data-btn='unbind'],[data-btn='reset-password'],[data-btn='delMessage'],[data-btn='show-qrcode']";
	 	$(el).on("click",selector,function(){
	 		var id=$(this).attr("data-btn");
	 		
	 		//查看二维码
	 		if(id==="viewPic"){
	 			var src=$(this).attr("data-src");
		 		$(".viewPic-modal").attr("src",src);
		 		Global.modal(".viewPic-modal","show");
	 		}
	 		else{
	 			that.userId=$(this).parents("tr").attr("data-userId");
	 			
	 			//解绑
		 		if(id==="unbind"){
		 			Global.modal("#unbind-modal","show");
		 		}
		 		
		 		//重置密码
		 		if(id==="reset-password"){
		 			Global.modal("#reset-modal","show");
		 		}
		 		
		 		//添加备注
		 		if(id==="addRemark"){
		 			Global.modal("#addRemark-modal","show");
		 		}
		 		
		 		//删除备注
		 		if(id==="delRemark"){
		 			Global.modal("#delRemark-modal","show");
		 		}
		 		
		 		//删除消息
		 		if(id==="delMessage"){
		 			Global.modal("#message-modal","show");
		 		}
	 		}
	 	});
	}	
};

//用户表初始化
userTable.init(".user-table");

//全局对象
var Global={
	
	//初始化函数
	"init":function(){
		
		//页面滚动条
		this.scrollbar(".main-wrapper",'6');
		//导航滚动条
		this.scrollbar(".navbar",'3');	
		
		//导航
		$(".navbar").on("click","a",function(){
			var flag=$(this).parents("ul").hasClass("dropdown");
			var value=$(this).attr("data-toggle");
			$(".navbar a").removeClass("active");
			
			//如果点击的是一级导航，则显示二级导航
			if(value==="dropdown-menu"){
				$(this).find(".right-arrow").toggleClass("rotate");
				$(this).next("ul.dropdown").slideToggle();
			}
			
			//如果点击的是二级导航，在dropdown父级元素之前的兄弟元素也添加active
			if(flag){
				$(this).parents(".dropdown").prevAll("[data-toggle='dropdown-menu']").addClass("active");
			}
			
			if(value!=="dropdown-menu" && !flag){
				$(".navbar .dropdown").slideUp();
			}
	
			$(this).addClass("active");
		});
		
		//模态框关闭按钮
		$("[data-modal='close']").on("click",function(){
			$(this).parents(".joModal").hide();
		});
		
		//用户表中下拉菜单切换
		$("[data-toggle='joDropdown']>i").on("click",function(){
			$(this).next("ul").toggle();
		});
	},
	
	//滚动条函数
	"scrollbar":function(el,width){
		$(el).niceScroll({
			styler:"fb",
			cursorcolor:"#23a8f5", 
			cursorwidth: width, 
			cursorborderradius: width/2+'px', 
			background: '#424f63', 
			spacebarenabled:false, 
			cursorborder: '0',
			zindex: '1000'
		});
	},
	
	/*-----------------------------------------------
	 * 表单验证基本方法
	 * obj参数说明：
	 * var obj={
	 * 		"el":".demo", //触发该事件的表单元素
	 *		"re":/^[a-z0-9_-]{3,10}$/, //验证的正则表达式
	 * 		"errEl":".demo", //触发错误提示的元素
	 *		"empty":"名字不能为空",  //非空错误提示
	 *		"err":"名字格式错误",   //无法通过正则验证错误提示
	 *	};
	-----------------------------------------------*/
	"checkInput":function(obj){
		var value=$(obj.el).val().trim();
		//console.log(value)
		if(value==="" || value===null){
			$(obj.el).addClass("errBorder");
			Global.errTip(obj.errEl,obj.empty);
		}
		else if(!obj["re"].test(value)){
			$(obj.el).addClass("errBorder");
			Global.errTip(obj.errEl,obj.err);
		}
		else{
			$(obj.el).removeClass("errBorder");
			$(obj.errEl).next(".err").remove();
		}
	},
	
	//表单错误提示方法
	"errTip":function(el,str){
		var $target;
		
		if(typeof el==="string"){
			$target=$(el).next();
		}else{
			$target=el.next();
		}
		
		str="<i class='iconfont icon-cuowu'></i>" + str;
		
		if($target.hasClass("err")){
			$target.html(str);
		}else{
			var $demo=$("<div></div>");
			$demo.addClass("err").html(str);
			$(el).after($demo);
		}	
	},
	
	//带红色边框的表单错误提示方法
	"showTip":function(sel,str){
		$(sel).addClass("errBorder");
		var el=$(sel).parents(".input-row");
		Global.errTip(el,str);
	},
	
	//表单提交按钮提示
	"submitTip":function(el,cla,html){
		var $span=$("<span></span>");
		$span.html(html);
		$(el).append($span).addClass(cla);
		setTimeout(function(){
			$(el).removeClass(cla).find("span:last").remove();
		},1500);
	},
	
	//显示模态框
	"modal":function(el,str){
		if(str==="show"){ $(el).show(); }
		else{ $(el).hide();}
	}
};

//执行初始化
Global.init();
